<?php
// déclaration des variables globales pour pouvoir les utiliser aussi dans les fonctions
global $doc;		// le document XML à générer
global $nom, $aMdp, $nMdp1, $nMdp2, $jdd;

// inclusion des paramètres et de la bibliothèque de fonctions ("include_once" peut être remplacé par "require_once")
include_once ('_inc_parametres.php');
include_once ('_inc_fonctions_boite_a_outils.php');

// crée une instance de DOMdocument
$doc = new DOMDocument();

// specifie la version et le type d'encodage
$doc->version = '1.0';
$doc->encoding = 'ISO-8859-1';

// crée un commentaire et l'encode en ISO
$elt_commentaire = $doc->createComment('Service web ConfirmerReservation - BTS SIO - Lycee De La Salle - Rennes');
// place ce commentaire à la racine du document XML
$doc->appendChild($elt_commentaire);

// Récupération des données transmises
// la fonction $_GET récupère une donnée passée en paramètre dans l'URL par la méthode GET
if ( empty ($_GET ["nom"]) == true)  $nom = "";  else   $nom = $_GET ["nom"];
if ( empty ($_GET ["aMdp"]) == true)  $aMdp = "";  else   $aMdp = $_GET ["aMdp"];
if ( empty ($_GET ["nMdp1"]) == true)  $nMdp1 = "";  else   $nMdp1 = $_GET ["nMdp1"];
if ( empty ($_GET ["nMdp2"]) == true)  $nMdp2 = "";  else   $nMdp2 = $_GET ["nMdp2"];

// si l'URL ne contient pas les données, on regarde si elles ont été envoyées par la méthode POST
// la fonction $_POST récupère une donnée envoyées par la méthode POST
if ( $nom == "" && $aMdp == "" && $nMdp1 == "" && $nMdp2 == "" ){	
	if ( empty ($_POST ["nom"]) == true)  $nom = "";  else   $nom = $_POST ["nom"];
	if ( empty ($_POST ["aMdp"]) == true)  $aMdp = "";  else   $aMdp = $_POST ["aMdp"];
	if ( empty ($_POST ["nMdp1"]) == true)  $nMdp1 = "";  else   $nMdp1 = $_POST ["nMdp1"];
	if ( empty ($_POST ["nMdp2"]) == true)  $nMdp2 = "";  else   $nMdp2 = $_POST ["nMdp2"];
}

if ( $nom == "" && $aMdp == "" && $nMdp1 == "" && $nMdp2 == "" ) {
	TraitementAnormal("Erreur : données incomplètes ou incorrectes");
}
else{
	include_once ('_inc_connexion.php');
	include_once ('_inc_fonctions_bdd_reservations.php');
	include_once ('_inc_parametres.php');

	if (estIdentifie($nom, $aMdp) == "inconnu"){
		TraitementAnormal("Erreur : authentification incorrecte");
	}
	elseif ($nMdp1 != $nMdp2){
		TraitementAnormal("Erreur : le nouveau mot de passe et sa confirmation sont différents.");
	}
	else{
		TraitementNormal();
	}
}

// Mise en forme finale
$doc->formatOutput = true;
// renvoie le contenu XML
echo $doc->saveXML ();
// fin du programme
exit ();

// fonction de traitement des cas anormaux
function TraitementAnormal($msg) { // redéclaration des données globales utilisées dans la fonction
	global $doc;
	// crée l'élément 'data' à la racine du document XML
	$elt_data = $doc->createElement ( 'data' );
	$doc->appendChild ( $elt_data );
	// place l'élément 'reponse' juste après l'élément 'data'
	$elt_reponse = $doc->createElement ( 'reponse', $msg );
	$elt_data->appendChild ( $elt_reponse );
	return;
}

function TraitementNormal()
{	// redéclaration des données globales utilisées dans la fonction
	global $doc;
	global $nom, $nMdp1, $email;
	global $ADR_MAIL_EMETTEUR;
		
	modifierMdpUser($nom,$nMdp1);
	// modification du mdp
	envoyerMdp($nom, $nMdp1);
		
	// crée l'élément 'data' à la racine du document XML
	$elt_data = $doc->createElement('data');
	$doc->appendChild($elt_data);
	
	$msg = "Vous allez recevoir un mail avec votre nouveau mot de passe.";
	// place l'élément 'reponse' juste après l'élément 'data'
	$elt_reponse = $doc->createElement('reponse', $msg);
	$elt_data->appendChild($elt_reponse); 
	return;
}
?>